package com.weixing.mall.provider.model.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 订单模块-订单表
 * </p>
 *
 * @author Small
 * @since 2020-03-05
 */
@Data
@Accessors(chain = true)
@TableName("omc_order")
public class Order {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @TableId(value = "id", type = IdType.NONE)
    private Long id;


    private Long buyerId;

    private String buyer;

    /**
     * 订单编号
     */
    private String orderSn;

    /**
     * 订单金额
     */
    private BigDecimal orderPrice;

    /**
     * 实付金额
     */
    private BigDecimal actualPrice;
    /**
     * 市场价
     */
    private BigDecimal marketPrice;

    /**
     * 物流单号
     */
    private String expressSn;

    /**
     * 物流单号
     */
    private String beforExpressSn;

    /**
     * 物流名称
     */
    private String expressName;

    /**
     * 是否已支付
     */
    private Integer isPay;

    /**
     * 发货前审核时间
     */
    private Date auditTime;

    /**
     * 发货时间
     */
    private Date shipTime;

    /**
     * 收货时间
     */
    private Date receiptTime;

    /**
     * 订单状态
     */
    private Integer orderStatus;

    /**
     * 用户看到的订单状态
     */
    private Integer frontOrderStatus;
    /**
     * 订单审核状态（1代理商待审核;3代理商审核中；6代理商审核完成客服待审核；9客服审核完成；12客服审核拒绝）
     */
     private Integer auditStatus;
    /**
     * 订单商品状态（1待定；4待货；7有现货；10需外采；13内部换货；16断货）
     */
     private Integer itemStatus;

   /**
     * 所属代理商
     */
    private String agentName;

    /**
     * 代理商编号
     */
    private String agentSn;

    /**
     * 所属客服
     */
    private Long customerId;

    /**
     * 所属客服名称
     */
    private String customerName;

    /**
     * 所属发货员
     */
    private Long shipperId;

    /**
     * 所属发货员名称
     */
    private String shipperName;

    /**
     * 订单类型 正价订单；代理商活动订单；秒杀订单
     */
    private Integer orderType;

    /**
     * 下单来源 客服下单，代理商下单，客户下单
     */
    private Integer orderFrom;

    /**
     * 订单码是否已推送
     */
    private Integer isOrderSnPrint;

    /**
     * 商品码是否已推送
     */
    private Integer isGoodsSnPrint;

    /**
     * 所属仓库
     */
    private Long depotId;

    /**
     * 所属仓库名称
     */
    private String depotName;

    /**
     * 所属仓库CODE
     */
    private String depotCode;

    /**
     * 匹配规则
     */
    private Integer mateRule;

    /**
     * 匹配规则
     */
    private String ruleName;

    /**
     * 封单匹配到的goodsId
     */
    private Long matchGoodsId;

    /**
     * 封单匹配到的productId
     */
    private Long matchProductId;

    /**
     * 订单流转部门
     */
    private Long deptId;

    /**
     * 客服备注
     */
    private String kefuRemark;

    /**
     * 客户备注
     */
    private String remark;

    /**
     * 活动id
     */
    private Long actId;

    /**
     * 活动昵称
     */
    private String actName;



    /**
     * 代理商Id
     */
    private Long agentId;

    /**
     * 断货审核时间
     */
    private Date nosuppllyTime;

    /**
     * 断货审核状态
     */
    private Integer nosuppllyAudit;

    /**
     * 代理商认领时间轴
     */
    private String agentCliamLine;


    /**
     * 结算状态 1未结算；2发起结算；3已结算
     */
    private Integer settleState;

    /**
     * 需审核人
     */
    private Long auditor;

    /**
     * 订单审核流转部门
     */
    private Integer auditDept;
    /**
     * 是否是代理认领订单
     */
     private Integer isCliam;

   /**
     * 乐观锁
     */
    @Version
    private Integer revision;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 更新人
     */
    private Long updatedBy;

    /**
     * 更新时间
     */
    private Date updatedTime;

    /**
     * 所属经销商Id
     */
    private Long distributorId;

    /**
     * 所属经销商
     */
    private String distributorName;

    /**
     * 所属一级代理id
     */
    private Long level1st;

    /**
     * 所属二级代理id
     */
    private Long level2nd;

    /**
     * 所属三级代理id
     */
    private Long level3rd;

    /**
     * 所属四级代理id
     */
    private Long level4th;

    /**
     * 订单识别码
     */
    private String identificationCode;

    /**
     * 代理商已审核列表
     */
    private String orderAuditorList;

    /**
     * 是否生成调拨单  0未生成 1已生成
     */
    private Integer isCreatedBill;

    /**
     * 折扣（代理商折扣/活动折扣）
     */
    private BigDecimal discount;
    /**
     * 代理商的上级id
     */
    private Long agent1;
    /**
     * 代理商等级
     */
    private Integer agentLevel;

    /**
     * 订单取消时间
     */
    private Date canceledTime;


    /**
     * 支付结束时间
     */
    private Date payEndTime;

    /**
     * 支付流水号
     */
    private String outTradeNo;

    /**
     * 是否已删除
     */
    private Integer isDel;

    /**
     * 订单后台标签
     */
    private Integer sysTag;

    /**
     * 订单APP标签
     */
    private Integer appTag;

    /**
     *发货员发货完成提成金额
     */
    private BigDecimal shipperCommission;

    /**
     * 售后换货标记  默认0  正常订单  1 换货订单
     */
    private Integer afterSaleTag;


    private  String  stockSn;

    private Long stockId;
}
